home *** CD-ROM | disk | FTP | other *** search
/ Enter 2006 October / Enter 10 2006.iso / Internet / Deepnet Explorer 1.5.3 beta 1 / DE1530STD.EXE / Styles / daplib.js < prev    next >
Encoding:
Text File  |  2005-07-03  |  952 b   |  49 lines

  1. var base64list = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
  2.  
  3. function base64encode(s)
  4. {
  5.   var t = '', p = -6, a = 0, i = 0, v = 0, c;
  6.  
  7.   while ( (i < s.length) || (p > -6) ) {
  8.     if ( p < 0 ) {
  9.       if ( i < s.length ) {
  10.         c = s.charCodeAt(i++);
  11.         v += 8;
  12.       } else {
  13.         c = 0;
  14.       }
  15.       a = ((a&255)<<8)|(c&255);
  16.       p += 8;
  17.     }
  18.     if ( v > 0 )
  19.       t += base64list.charAt((a>>p)&63);
  20.     else
  21.       t += base64list.charAt(64);
  22.     p -= 6;
  23.     v -= 6;
  24.   }
  25.   return t;
  26. }
  27.  
  28. function base64decode(s)
  29. {
  30.   var t = '', p = -8, a = 0, q = 0, c, m, n;
  31.  
  32.   for( var i = 0; i < s.length; i++ ) {
  33.     c = base64list.indexOf(s.charAt(i));
  34.     if ( c < 0 )
  35.       continue;
  36.     a = (a<<6)|(c&63);
  37.     p += 6;
  38.     if ( p >= 0 ) {
  39.       c = (a>>p)&255;
  40.       if ( c > 0 )
  41.         t += String.fromCharCode(c);
  42.       a &= 63;
  43.       p -= 8;
  44.     }
  45.   }
  46.   return t;
  47. }
  48.  
  49.